iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0
Mobile Development

Android Studio初學系列 第 27

Android Studio初學 DAY27 Recyclerview結合Dialog2

  • 分享至 

  • xImage
  •  

接續前一篇文章,今天要來講搭配點擊事件的運用
首先要先在Adapter新增recyclerview的點擊監聽

Adapter

private OnItemClickListener listener;
public void setOnItemClickListener(OnItemClickListener listener) {
        this.listener = listener;
    }
public MyViewHolder(@NonNull View itemView) {
            super(itemView);
            textView5 = itemView.findViewById(R.id.textView5);
            itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    int position = getAdapterPosition();
                    if (position != RecyclerView.NO_POSITION && listener != null) {
                        String itemData = String.valueOf(dataList.get(position));
                        listener.onItemClick(itemData);
                    }
                }
            });
        }
public interface OnItemClickListener {
        void onItemClick(String selectedItem);
    }

Activity

接著就能回到主程式去使用,延續上一篇使用的程式碼,我這邊把打開dialog寫在副程式裡,然後點擊事件也一起寫入

public void showDialog(){
        dialog.show();
        myAdapter.setOnItemClickListener(new MyAdapter.OnItemClickListener() {
            @Override
            public void onItemClick(String selectedItem) {
                editText.setText(selectedItem);
                dialog.dismiss();
            }
        });
    }

之後回到button點擊監聽事件去呼叫副程式就可以囉

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showDialog();
            }
        });

成果如下


上一篇
Android Studio初學 DAY26 Recyclerview結合Dialog
下一篇
Android Studio初學 DAY28 ToggleButton
系列文
Android Studio初學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言